سلام.
ابتدا مشکلات هرکدوم از صفحاتو میگیم بعد به نهاییترین و کاملترین صفحه میرسیم:
تکرار کد در یک فایل:
using System;using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_PreRender(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM tblStudent";
cmd.Connection = conn;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void btnadd_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = string.Format("INSERT INTO tblStudent(stid,stname) VALUES({0},'{1}')", TextBox1.Text, TextBox2.Text);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void btnDelete_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = string.Format("DELETE FROM tblStudent WHERE STID={0}", TextBox3.Text);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = string.Format("UPDATE tblStudent SET STNAME='{1}' WHERE STID={0}", TextBox1.Text, TextBox2.Text);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
using System;using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_PreRender(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM tblStudent";
cmd.Connection = conn;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
protected void btnUpdate_Click(object sender, EventArgs e)
{
string str=string.Format("UPDATE tblStudent SET STNAME='{1}' WHERE STID={0}", TextBox1.Text, TextBox2.Text);
Perform(str);
}
//tekrar perform dar har file
private void Perform(string strcmd)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = string.Format(strcmd);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
using System;using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_PreRender(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM tblTeacher";
cmd.Connection = conn;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
protected void btnUpdate_Click(object sender, EventArgs e)
{
string str = string.Format("UPDATE tblTeacher SET tename='{1}' WHERE teid={0}", TextBox1.Text, TextBox2.Text);
Perform(str);
}
//tekrar perform dar har file
private void Perform(string strcmd)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = string.Format(strcmd);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
تکرار کد در فایل کلاس
clsDB2
همزمان دو کاربر بیایند یکی اتصال را باز کند دیگری بعد بیاید اتصال را ببندد و بعد اولی بخواهد درج انجام دهد اتصال بسته است خطا می گیرد.
clsDB3
یک کاربر باید صبر کند کار کاربر دیگر تمام شود
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_PreRender(object sender, EventArgs e)
{
////tekrar
//SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
//SqlDataAdapter da = new SqlDataAdapter();
//SqlCommand cmd = new SqlCommand();
//cmd.CommandText = "SELECT * FROM tblStudent";
//cmd.Connection = conn;
//da.SelectCommand = cmd;
//DataTable dt = new DataTable();
//conn.Open();
//da.Fill(dt);
//conn.Close();
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_PreRender(object sender, EventArgs e)
{
////tekrar
//SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
//SqlDataAdapter da = new SqlDataAdapter();
//SqlCommand cmd = new SqlCommand();
//cmd.CommandText = "SELECT * FROM tblTeacher";
//cmd.Connection = conn;
//da.SelectCommand = cmd;
//DataTable dt = new DataTable();
//conn.Open();
//da.Fill(dt);
//conn.Close();
در صورتی که بخواهیم از این کلاس در پروژه دیگری استفاده کنیم قسمت رشته اتصال مشکل زا خواهد بود
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
clsDB db1;
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
برای استفاده از کلاس توسط شخص دیگر، باید کلاس را با کد به او بدهیم
اگر بخواهیم کلاس را به ** دیگری بفروشیم و نخواهیم کد ما را ان شخص متوجه شود چه کنیم
همچنین برای اینکه هکر، در صورت دسترسی موضعی، متوجه کد داخلی ما نشود چه کنیم؟
dll
هندی ها
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
clsDB db1;
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
1.
کسی این
dll
را از ما می خواهد که روی لینوکس می خواهد از ان استفاده کند
2.
کد ما باز هم می تواند لو برود اما این دفعه فقط کمی سخت تر است
3.
dll
را به یک نفر بدهیم راحت می تواند ان را به همه بدهد یا بفروشد
4.
بعضی ها نمی خواهند پول یک
dll
را بدهند و فقط یکبار ان را استفاده کنند.
می خواهیم هر کی به اندازه ای که استفاده می کند، پول دهد
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//using System.Data.SqlClient;
//ezafe shod
using Khodabandeh.DatabaseManagerClassLibrary;
public partial class _Default : System.Web.UI.Page
{
clsDB db1;
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//using System.Data.SqlClient;
//ezafe shod
using Khodabandeh.DatabaseManagerClassLibrary;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
//bayad hazf shavand
//using System.Web.Security;
//using System.Web.UI;
//using System.Web.UI.WebControls;
//using System.Web.UI.WebControls.WebParts;
//using System.Web.UI.HtmlControls;
public class clsDB
{
private SqlConnection conn;
private SqlCommand cmd;
public clsDB(string strconn)
{
conn = new SqlConnection(strconn);
cmd = new SqlCommand();
cmd.Connection = conn;
}
public void Perform(string strcmd)
{
cmd.CommandText = strcmd;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
public DataTable GetData(string strcmd)
{
SqlDataAdapter da = new SqlDataAdapter();
cmd.CommandText = strcmd;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
return dt;
}
}
}
1.
کسی این
dll
را از ما می خواهد که روی لینوکس می خواهد از ان استفاده کند
2.
کد ما باز هم می تواند لو برود اما این دفعه فقط کمی سخت تر است
3.
dll
را به یک نفر بدهیم راحت می تواند ان را به همه بدهد یا بفروشد
4.
بعضی ها نمی خواهند پول یک
dll
را بدهند و فقط یکبار ان را استفاده کنند.
می خواهیم هر کی به اندازه ای که استفاده می کند، پول دهد
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//using System.Data.SqlClient;
//ezafe shod
using Khodabandeh.DatabaseManagerClassLibrary;
public partial class _Default : System.Web.UI.Page
{
clsDB db1;
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//using System.Data.SqlClient;
//ezafe shod
using Khodabandeh.DatabaseManagerClassLibrary;
علاقه مندی ها (Bookmarks)